const path = require( 'path' );

class TestNow{
  /**
   * 功能： 生成测试文件
   * 参数：methodName，方法名， classFile， 文件， isClass 是否为 class
   */
  getTestSource( methodName, classFile, isClass=false ){

    return `test('${ 'TEST:' + methodName }', () => {
      const ${ isClass ? '{' + methodName + '}' : methodName } = require('${'../' + classFile }')
      const ret = ${ methodName }()
      // expect(ret)
      // .toBe('test return')
    })`
  }
  /**
   * 功能：生成测试文件目录
   * 参数：文件名
   * 返回值：测试文件目录字符串
   */
  getTestFileName( filename ){
    // 获取目录
    const dirname = path.dirname( filename );
    // 获取文件名
    const basename = path.basename( filename );
    // 获取扩展名
    const extname = path.extname( filename );

    const testName = basename.replace( extname, `.spec${extname}` );

    console.log( path.parse( 'project/a/1.js' ));

    return path.format({
      root: dirname + '/__test__/',
      base: testName
    })
  }
}

module.exports = TestNow;